package iterativo.gals;

public interface ParserConstants
{
    int START_SYMBOL = 18;

    int FIRST_NON_TERMINAL    = 18;
    int FIRST_SEMANTIC_ACTION = 29;

    int[][] PARSER_TABLE =
    {
        { -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, 14, -1, -1, -1, -1, -1, 12, 13, -1, -1, -1, 11, -1, -1, -1, -1 },
        { -1,  9, -1, -1, -1, -1, -1,  9,  9, -1, -1, 10,  9, 10, -1, 10, -1 },
        { -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1 },
        { -1, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  2, -1,  1, -1, -1 },
        { -1,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  4, -1, -1,  5 },
        { -1,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1,  7, -1, -1, -1, -1, -1,  7,  7, -1, -1, -1,  7, -1, -1, -1,  8 }
    };

    int[][] PRODUCTIONS = 
    {
        { 30,  5, 45, 24, 15, 27, 19, 20, 16 },
        {  0 },
        { 13, 25, 14 },
        {  2, 41, 26 },
        {  0 },
        { 17, 25 },
        {  2, 42, 28 },
        {  0 },
        { 17, 27 },
        { 19, 20 },
        {  0 },
        { 13, 22, 14, 31 },
        {  8, 23, 32, 21, 33 },
        {  9, 23, 34, 21, 35 },
        {  2, 36,  3, 37, 16 },
        {  7, 13, 20, 14, 43 },
        { 10, 23, 38, 11, 20, 44, 12, 39, 20 },
        {  2, 40 }
    };

    String[] PARSER_ERROR =
    {
        "",
        "Era esperado fim de programa",
        "Era esperado id",
        "Era esperado operacao",
        "Era esperado palavra reservada",
        "Era esperado nome programa",
        "Era esperado R",
        "Era esperado FACA",
        "Era esperado ATE",
        "Era esperado EQTO",
        "Era esperado SE",
        "Era esperado ENTAO",
        "Era esperado SENAO",
        "Era esperado \"(\"",
        "Era esperado \")\"",
        "Era esperado \"->\"",
        "Era esperado \".\"",
        "Era esperado \",\"",
        "programa inválido",
        "Era esperado comando",
        "Era esperado comando",
        "bloco de repetição inválido",
        "Era esperado teste",
        "Era esperado teste",
        "Era esperado identificador",
        "Era esperado identificador",
        "Era esperado identificador",
        "Era esperado indetificador",
        "Era esperado identificador"
    };
}
